home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 522 / okami12 / doc / system.doc < prev    next >
Encoding:
Text File  |  1991-04-17  |  1.8 KB  |  59 lines

  1.  
  2.     ===============================================
  3.  
  4. @(#)       OKAMI SHELL VERSION 1.2 - SYSTEM-FUNKTION
  5.  
  6.     ===============================================
  7.             Stand: 22.06.90
  8.  
  9.  
  10. Um die Okami-Shell von eigenen Programmen aus aufrufen zu können, gibt es
  11. die Funktion system. Beispiel:
  12.  
  13. DiskDir()
  14. {
  15.   extern long system();
  16.   
  17.   system("ls a:\*.*");
  18.   system("df a:");
  19.   
  20. }
  21.  
  22. Durch Aufruf der Funktion DiskDir werden Inhalt und freier Speicherplatz von
  23. Laufwerk a: ausgegeben. Dies wird erreicht durch Aufruf der Shell mit den
  24. Kommandos "ls a:\*.*" und "df a:".
  25.  
  26. Um die system-Funktion benutzen zu können, muß die Datei system.c einge-
  27. bunden werden. Dazu gibt es folgende Möglichkeiten:
  28. 1. #include "system.c" (nicht sehr zu empfehlen)
  29. 2. Kompilieren der Datei system.c und Mit-Linken der Objektdatei system.o.
  30. 3. Kompilieren der Datei system.c und Einbinden der Objektdatei system.o
  31.    in eine Library.
  32.    
  33. Außerdem muß in dem Programm die globale Variable
  34. char *_shpath
  35. definiert werden. Diese Variable zeigt auf einen String, der den Aufruf-
  36. Pfad der Shell (vollständiger Name, z.B. "d:\shell\sh.ttp") enthält. Dies
  37. kann folgendermaßen geschehen:
  38.     char *_shpath="d:\shell\sh.ttp";
  39. Diese Deklaration muß global sein, darf also nicht innerhalt einer Funktion
  40. stehen.
  41. Der Wert kann sich natürlich auch ändern, es ist ebenso erlaubt:
  42.     char _shpath[100];
  43. und dann
  44.     strcpy(_shpath,"........");
  45. an beliebigen Stellen des Programms.
  46.  
  47. Ein Beispielprogramm ist in der Datei system.c enthalten. Um es zu akti-
  48. vieren, muß in der Datei
  49. #define TEST 0
  50. auf
  51. #define TEST 1
  52. umgeändert werden.
  53.  
  54. Die Länge des Parameterstrings ist durch das Betriebssystem auf 124 Zeichen
  55. beschränkt. Es können beim Aufruf von system mehr Zeichen angegeben werden,
  56. allerdings ist dann nicht mehr sichergestellt, daß alle Zeichen das Programm
  57. erreichen.
  58.  
  59.